package com.txc.cloud.admin.controller;

import com.txc.cloud.admin.model.dto.DeptDto;
import com.txc.cloud.admin.service.IDeptService;
import com.txc.common.global.result.Result;
import com.txc.common.utils.structure.tree.TreeNode;
import com.txc.openfeign.common.admin.vo.DeptVo;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 * 部门管理
 * 部门相关接口
 * @ClassName: DeptController
 * @Author: TXC
 * @Date: 2022-08-14 14:48
 **/
@RestController
@RequestMapping("/dept")
public class DeptController {

    @Resource
    private IDeptService deptService;

    /**
     * 获取部门树和子部门
     * @param id 部门id
     * @return {@link java.util.List<TreeNode<DeptVo>>}
     */
    @GetMapping("/getDeptAndChild")
    public Result<?> getDeptAndChild(Long id) {
        return Result.ok(deptService.getDeptAndChild(id));
    }

    /**
     * 新增部门
     * @param deptDto 部门信息
     * @return {@link java.lang.Boolean}
     */
    @PostMapping("/saveOrUpdate")
    public Result<?> addDept(@RequestBody DeptDto deptDto) {
        boolean result = deptService.createOrUpdate(deptDto);
        return Result.message(result ? "新增成功" : "新增失败");
    }
}
